how should names look like?

- All names can contain only characters 'a'-'z', 'A'-'Z', '0'-'9', '_'. Other 
  characters are reserved for special use.

- Internal macro stuff will have prefix "__". User can't declare names starting
  with "__".

- Macro names can't start with ".", like ".code", ".while" etc. This causes 
  trouble with structure definition

- Module name is lowcase (opengl, io, ...)

- Macro names are in form "word_word", eg. lowcase, words separated by "_"s

- Procedure names are in form "module.word_word" eg. prefixed by module name
  and "."

- Some procedures can have shorter form of name, without module name prefix.
  This should be rare exception with often used ones - "malloc", "mfree" etc.

? Name of equates uppercase? (OPENGL_USEDEFAULT, SYSTEM_PRINTCHAR, ...)

? if routinepacks declares variables which can be accessed by user, they must
  have some name format
